package com.yic.module.mes.controller.admin.report.vo;

import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.yic.framework.common.pojo.PageParam;
import java.time.LocalDateTime;
import org.springframework.format.annotation.DateTimeFormat;

import static com.yic.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 生产报工 Excel 导出 Request VO，参数和 ReportPageReqVO 是一致的")
@Data
public class ReportExportReqVO {

    @Schema(description = "生产排产ID", example = "3076")
    private Long moId;

    @Schema(description = "生产工单")
    private String moCode;

    @Schema(description = "生产计划ID", example = "21242")
    private Long planId;

    @Schema(description = "批次号")
    private String batchNo;

    @Schema(description = "产品信息", example = "15312")
    private Long itemId;

    @Schema(description = "产品生产信息", example = "14543")
    private Long itemProduceId;

    @Schema(description = "工厂", example = "15710")
    private Long factoryId;

    @Schema(description = "生产车间", example = "15710")
    private Long workshopId;

    @Schema(description = "工作中心", example = "10719")
    private Long centerId;

    @Schema(description = "部门", example = "32712")
    private Long deptId;

    @Schema(description = "报工人", example = "11377")
    private Long userId;

    @Schema(description = "协作人")
    private String cooperate;

    @Schema(description = "报工工序", example = "16293")
    private Long processId;

    @Schema(description = "流水号")
    private String serialNo;

    @Schema(description = "审批时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] approveTime;

    @Schema(description = "审批人")
    private Long approveUser;

    @Schema(description = "审核状态")
    private Integer approve;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

}
